/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * FrmConsultaNivel.java
 *
 * Created on 26/10/2009, 23:15:06
 */

package usuarios.telas;

import conexao.DAOException;
import java.awt.Image;
import java.awt.Toolkit;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
import usuarios.bd.UsuarioDao;
import usuarios.classes.UsuarioTableModel;
import usuarios.classes.Usuarios;

/**
 *
 * @author Wolverine
 */
public class FrmConsultaUsuario extends javax.swing.JFrame {

    private UsuarioDao dao = null;
    private UsuarioTableModel model = null;

    /** Creates new form FrmConsultaNivel */
    public FrmConsultaUsuario() {
        try {
            dao = new UsuarioDao();
            List<Usuarios> listaUsuarios = dao.consultaUsuario();
            model = new UsuarioTableModel(listaUsuarios);
       } catch (DAOException ex) {
           ex.printStackTrace();
           model = new UsuarioTableModel(new ArrayList<Usuarios>());
       }
        initComponents();
        URL url = this.getClass().getResource("/imagens/logo_mini.png");
        Image imagemTitulo = Toolkit.getDefaultToolkit().getImage(url);
        this.setIconImage(imagemTitulo);
        this.setLocationRelativeTo(null);
        try{
            UIManager.setLookAndFeel("com.birosoft.liquid.LiquidLookAndFeel");
        }catch (Exception e){
        }
        usuariojTable.setModel(model);
        usuariojTable.getColumnModel().getColumn(0).setPreferredWidth(50);
        usuariojTable.getColumnModel().getColumn(1).setPreferredWidth(200);
        setVisible(true);
    }

    public Usuarios getUsuario() {
        return usuario;
    }

    public void setUsuario(Usuarios usuario) {
        this.usuario = usuario;
    }



    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jScrollPane1 = new javax.swing.JScrollPane();
        usuariojTable = new javax.swing.JTable();
        jPanel1 = new javax.swing.JPanel();
        usuarioAdicionarjButton = new javax.swing.JButton();
        usuarioAlterarjButton = new javax.swing.JButton();
        usuarioExcluirjButton = new javax.swing.JButton();
        usuarioVoltarjButton = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Consulta Usuários");
        getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        usuariojTable.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null},
                {null, null}
            },
            new String [] {
                "Title 1", "Title 2"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, false
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        jScrollPane1.setViewportView(usuariojTable);

        getContentPane().add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 420, 230));

        jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        usuarioAdicionarjButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/usuariomais.png"))); // NOI18N
        usuarioAdicionarjButton.setText("Adicionar");
        usuarioAdicionarjButton.setToolTipText("Adicionar Professor");
        usuarioAdicionarjButton.setFocusable(false);
        usuarioAdicionarjButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        usuarioAdicionarjButton.setMaximumSize(new java.awt.Dimension(90, 80));
        usuarioAdicionarjButton.setMinimumSize(new java.awt.Dimension(90, 80));
        usuarioAdicionarjButton.setPreferredSize(new java.awt.Dimension(90, 80));
        usuarioAdicionarjButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        usuarioAdicionarjButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                usuarioAdicionarjButtoncadastraProfessor(evt);
            }
        });
        jPanel1.add(usuarioAdicionarjButton, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 10, -1, -1));

        usuarioAlterarjButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/usuarioedit.png"))); // NOI18N
        usuarioAlterarjButton.setText("Alterar");
        usuarioAlterarjButton.setToolTipText("Alterar Professor");
        usuarioAlterarjButton.setFocusable(false);
        usuarioAlterarjButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        usuarioAlterarjButton.setMaximumSize(new java.awt.Dimension(90, 80));
        usuarioAlterarjButton.setMinimumSize(new java.awt.Dimension(90, 80));
        usuarioAlterarjButton.setPreferredSize(new java.awt.Dimension(90, 80));
        usuarioAlterarjButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        usuarioAlterarjButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                usuarioAlterarjButtonActionPerformed(evt);
            }
        });
        jPanel1.add(usuarioAlterarjButton, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 10, -1, -1));

        usuarioExcluirjButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/usuariomenos.png"))); // NOI18N
        usuarioExcluirjButton.setText("Excluir");
        usuarioExcluirjButton.setToolTipText("Excluir Professor");
        usuarioExcluirjButton.setFocusable(false);
        usuarioExcluirjButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        usuarioExcluirjButton.setMaximumSize(new java.awt.Dimension(90, 80));
        usuarioExcluirjButton.setMinimumSize(new java.awt.Dimension(90, 80));
        usuarioExcluirjButton.setPreferredSize(new java.awt.Dimension(90, 80));
        usuarioExcluirjButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        usuarioExcluirjButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                usuarioExcluirjButtonActionPerformed(evt);
            }
        });
        jPanel1.add(usuarioExcluirjButton, new org.netbeans.lib.awtextra.AbsoluteConstraints(210, 10, -1, -1));

        usuarioVoltarjButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/voltar.png"))); // NOI18N
        usuarioVoltarjButton.setText("Voltar");
        usuarioVoltarjButton.setToolTipText("Voltar");
        usuarioVoltarjButton.setFocusable(false);
        usuarioVoltarjButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        usuarioVoltarjButton.setMaximumSize(new java.awt.Dimension(90, 80));
        usuarioVoltarjButton.setMinimumSize(new java.awt.Dimension(90, 80));
        usuarioVoltarjButton.setPreferredSize(new java.awt.Dimension(90, 80));
        usuarioVoltarjButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        usuarioVoltarjButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                usuarioVoltarjButtonvoltarTela(evt);
            }
        });
        jPanel1.add(usuarioVoltarjButton, new org.netbeans.lib.awtextra.AbsoluteConstraints(310, 10, -1, -1));

        getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 230, 410, 100));

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void usuarioVoltarjButtonvoltarTela(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_usuarioVoltarjButtonvoltarTela
        this.dispose();
}//GEN-LAST:event_usuarioVoltarjButtonvoltarTela

    private void usuarioAdicionarjButtoncadastraProfessor(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_usuarioAdicionarjButtoncadastraProfessor
        try {
            setUsuario(new Usuarios());
            new FrmCadastroUsuario(getUsuario());
        } catch (DAOException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao Adiconar Usuário\n" + ex);
        }
}//GEN-LAST:event_usuarioAdicionarjButtoncadastraProfessor

    private void usuarioExcluirjButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_usuarioExcluirjButtonActionPerformed
        try {
            if (usuariojTable.getSelectedRow()>=0){
                usuario= model.getUsuarios(usuariojTable.getSelectedRow());
                dao.excluirUsuairo(usuario);
            }
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(null, "Erro ao excluir usuario\n" + ex);
        }
    }//GEN-LAST:event_usuarioExcluirjButtonActionPerformed


    private void usuarioAlterarjButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_usuarioAlterarjButtonActionPerformed
        try {
           if (usuariojTable.getSelectedRow()>=0){
                setUsuario(model.getUsuarios(usuariojTable.getSelectedRow()));
                new FrmCadastroUsuario(getUsuario());
           }
        } catch (DAOException ex) {
            JOptionPane.showMessageDialog(null, "Erro em Altetação do Usuario\n " + ex);
        }
    }//GEN-LAST:event_usuarioAlterarjButtonActionPerformed



    /**
    * @param args the command line arguments
    */
   

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JPanel jPanel1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JButton usuarioAdicionarjButton;
    private javax.swing.JButton usuarioAlterarjButton;
    private javax.swing.JButton usuarioExcluirjButton;
    private javax.swing.JButton usuarioVoltarjButton;
    private javax.swing.JTable usuariojTable;
    // End of variables declaration//GEN-END:variables

    private Usuarios usuario;
}
